home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Skunkware 5
/
Skunkware 5.iso
/
man
/
cat.1
/
pcal.1
< prev
next >
Wrap
Text File
|
1995-07-25
|
41KB
|
793 lines
PPPPCCCCAAAALLLL((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV PPPPCCCCAAAALLLL((((1111))))
NNNNAAAAMMMMEEEE
pcal - generate PostScript calendars
SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
ppppccccaaaallll [----eeee|----ffff _c_a_l] [----oooo _f_i_l_e] [----jjjj | ----JJJJ] [----llll | ----pppp] [----mmmm | ----MMMM]
[----bbbb _d_a_y|all] [----gggg _d_a_y|all] [----OOOO] [----GGGG]
[----ssss [[[[_d_a_t_e__s_h_a_d_e]]]][[[[////_f_i_l_l__s_h_a_d_e]]]]] [----FFFF _d_a_y] [----AAAA|----EEEE]
[----tttt _t_i_t_l_e__f_o_n_t] [----dddd _d_a_y__f_o_n_t] [----nnnn _t_e_x_t__f_o_n_t[/_s_i_z_e]]
[----LLLL _f_o_o_t_e_r__s_t_r] [----CCCC _f_o_o_t_e_r__s_t_r] [----RRRR _f_o_o_t_e_r__s_t_r]
[----NNNN _n_o_t_e_s__s_t_r] [----DDDD _s_y_m_b_o_l] [----UUUU _s_y_m_b_o_l] [----xxxx _x_s_c_a_l_e]
[----yyyy _y_s_c_a_l_e] [----XXXX _x_t_r_a_n_s] [----YYYY _y_t_r_a_n_s] [----IIII] [----BBBB]
[----SSSS | ----kkkk | ----KKKK] [----wwww] [----hhhh | ----uuuu | ----vvvv] [_m_o_n_t_h] [_y_e_a_r]
[_n_m_o_n_t_h_s]
DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
_P_c_a_l generates PostScript to produce landscape or portrait
calendars for any month and year. The arguments mmmmoooonnnntttthhhh,
yyyyeeeeaaaarrrr, and nnnnmmmmoooonnnntttthhhhssss, if provided, should be numeric. The
mmmmoooonnnntttthhhh value should be in the range 1 - 12, and the yyyyeeeeaaaarrrr
value should be specified as 1 or 2 digits or as the full 4
digit year. If no numeric arguments are provided, the
calendar for the current month and year will be generated.
If one numeric argument is provided, it is interpreted as
the yyyyeeeeaaaarrrr value, and calendars for the entire year will be
generated. Otherwise, nnnnmmmmoooonnnntttthhhhssss months, starting with mmmmoooonnnntttthhhh
and yyyyeeeeaaaarrrr, will be generated.
For whole-year calendars (i.e. the ----wwww option is given), the
command line arguments are interpreted somewhat differently.
By default, all months in the current year are printed,
starting with January. If the mmmmoooonnnntttthhhh argument alone is
given, it is expected to be the desired yyyyeeeeaaaarrrr to print, and
prints all of the months in the given year. If both mmmmoooonnnntttthhhh
and yyyyeeeeaaaarrrr are given, then 12 consecutive months are printed
starting at the given month and year. If the mmmmoooonnnntttthhhh, yyyyeeeeaaaarrrr,
and nnnnmmmmoooonnnntttthhhhssss arguments are all present, printing begins with
the given month and year and nnnnmmmmoooonnnntttthhhhssss months are printed,
rounded up to the nearest multiple of 12.
TTTThhhheeee DDDDaaaatttteeee FFFFiiiilllleeee
By default, _p_c_a_l simply prints an empty calendar. Its real
power is in its ability to place ``events'' in appropriate
days on the calendar, thus allowing the user to create
personalized calendars. This is achieved through the use of
the ``date file''.
The date file is named ._c_a_l_e_n_d_a_r (_p_c_a_l._d_a_t under MS-DOS), or
_c_a_l_e_n_d_a_r for compatibility with older versions. _P_c_a_l will
look in several places for such a file. First, if the
environment variable PPPPCCCCAAAALLLL____DDDDIIIIRRRR is defined, _p_c_a_l searches the
Page 1 (printed 6/30/95)
PPPPCCCCAAAALLLL((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV PPPPCCCCAAAALLLL((((1111))))
directory indicated by that variable. Next, _p_c_a_l searches
the user's home directory (as specified by the HHHHOOOOMMMMEEEE
environment variable). If neither PPPPCCCCAAAALLLL____DDDDIIIIRRRR nor HHHHOOOOMMMMEEEE is
defined, _p_c_a_l searches the current directory instead.
Finally, the directory where the _p_c_a_l executable resides
will be checked. If no date file is found, an empty
calendar is printed; no error is generated.
If a date file is found, it will be searched for lines with
leading dates matching the requested month and year. Any
text following the dates found will be printed on the
calendar under the appropriate day of the month. Dates in
the ._c_a_l_e_n_d_a_r file may be expressed in any of several
formats:
<ordinal> <day_spec> in <month_spec>{*} {<text>}
<day_spec> <prep> <date_spec>{*} {<text>}
<date_spec>{*} {<text>}
Where:
<month_name> := first 3+ characters of name of month, or ``all''
<month_spec> := <month_name>, or ``year''
<day_spec> := first 3+ characters of name of weekday, ``day'',
``weekday'', ``workday'', ``holiday'', ``nonweekday'',
``nonworkday'', ``nonholiday'', ``new_moon'',
``first_quarter'', ``full_moon'', or ``last_quarter''
<ordinal> := any ordinal number (``1st'', ``2nd'', etc.), ``first'' ... ``fifth'',
``last'', ``odd'', ``even'', or ``all''
<prep> := ``before'', ``preceding'', ``after'', ``following'',
``on_or_before'' (``oob''), or ``on_or_after'' (``ooa'')
<sep> := one or more non-numeric, non-space, non-`*' characters
<month> := a numeric month (1-12)
<day> := day of month (1-31)
<year> := a numeric year
If the ----AAAA option (American date formats, the default) is
given:
<date_spec> := <month_name> <day> | <month><sep><day>{<sep><year>}
If the ----EEEE option (European date formats) is given:
<date_spec> := <month_name> <day> | <month><sep><day>{<sep><year>}
_P_c_a_l also allows format specifiers in both the text and foot
strings (see the ----LLLL, ----CCCC, ----RRRR, and ----NNNN options below); each
will be replaced by a corresponding string as outlined in
the table below. Most of these are derived from the ANSI C
strftime() ffffuuuunnnnccccttttiiiioooonnnn;;;; tttthhhheeee %%%%[[[[lllloooouuuuwwwwMMMMDDDD]]]] and %%%%[[[[oooo0000++++----]]]] format
specifiers are specific to _p_c_a_l:
Page 2 (printed 6/30/95)
PPPPCCCCAAAALLLL((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV PPPPCCCCAAAALLLL((((1111))))
%a abbreviated weekday
%A full weekday
%b abbreviated month name
%B full month name
%d day of month (1-31)
%j day of year (1-366)
%l days left in year (0-365)
%m month (1-12)
%U week number (0-53)
%W week number (0-53)
%u week number (1-54)
%w week number (1-54)
%y year w/o century (00-99)
%Y year w/century
%% `%' character
%o print number as ordinal
%0 print number with leading zeroes
%+ use following month or year
%- use previous month or year
%{+N}[DWMY] adjust date by +N days/weeks/months/years
%{-N}[DWMY] adjust date by -N days/weeks/months/years
The %%%%uuuu specifier considers the week containing 1/1 as week 1
and the following logical Sunday (the first day of the week
as printed; cf. the ----FFFF option below) as the start of week 2;
%%%%UUUU considers the first logical Sunday as the first day of
week 1. %%%%wwww and %%%%WWWW behave like %%%%uuuu and %%%%UUUU respectively, but
use the first logical Monday instead. Note that %%%%wwww
strftime().
The %%%%oooo format specifier prints a number as an ordinal, with
the appropriate suffix (``st'', ``nd'', ``rd'', or ``th'' in
English) appended. For example, %%%%oooodddd prints the day of the
month as ``1st'', ``2nd'', ``3rd'', etc.
Unlike strftime(), _p_c_a_l defaults to printing numbers (except
%%%%yyyy) without leading zeroes. If leading zeroes are desired,
the `0' prefix may be used. For example, %%%%0000jjjj prints the
first day of year as ``001''.
The %%%%++++ and %%%%---- format specifiers direct _p_c_a_l to substitute
the following/previous month/year in the following [[[[bbbbBBBBmmmmyyyyYYYY]]]]
specifier. For example, %%%%++++BBBB prints the name of the next
month.
The %%%%{{{{[[[[++++----]]]]NNNN}}}}[[[[DDDDWWWWMMMMYYYY]]]] format specifiers do not print anything,
but instead adjust the working date by +_ NNNNdays (DDDD), weeks
(WWWW), months (MMMM), or years (YYYY). Subsequent format specifiers
use the adjusted date instead of the current date. For
example, %%%%++++1111MMMM %%%%BBBB %%%%YYYY adjusts the date forward by one month
and then prints the resulting month and year (``January
Page 3 (printed 6/30/95)
PPPPCCCCAAAALLLL((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV PPPPCCCCAAAALLLL((((1111))))
1992'' in December, 1991); %%%%----2222WWWW %%%%bbbb %%%%dddd adjusts the date
backward by two weeks and prints the resulting month and day
(``Jul 26'' on August 9).
Such date adjustments are normally cumulative; for example,
%%%%++++1111YYYY%%%%----1111DDDD adjusts the date forward by one year and then
backward by one day. If %%%%DDDD or %%%%MMMM is specified alone (or if
NNNN is zero), _p_c_a_l restores the original date. Note that %%%%MMMM
has a different meaning to the strftime() ffffuuuunnnnccccttttiiiioooonnnn....
The ``Notes'' box (see below) uses the first of the current
month as the default date. All foot strings use the first
of the current month in single-month mode and the first of
the starting month in whole-year mode.
Examples:
last Monday in May* Memorial Day Holiday
all Fridays in Oct Status Meeting, 11 AM
first workday in all %-B progress report due
all Fri in all Time card due, 3 PM
all Monday in all Fiscal week %0W
-2nd workday in all Schedule for %+B due %+2D
2nd full_moon in all Blue Moon
Fri on_or_before all 15 Pay Day
even Fridays in year Pay Day
183rd day of year Mid-year (%l days left)
Tue after first Mon in Nov Election Day (USA)
4th Thu in Nov* Thanksgiving
Fri after 4th Thu in Nov* Day after Thanksgiving
12/25/90* Christmas # American
25.12.90* Christmas # European
Dec 25* Christmas # American
25 Dec* Christmas # European
Any non-numeric character may separate numeric dates.
Holidays may be flagged by following the date immediately
with `*' as in the examples above; this will cause the date
to be printed in gray. ``Each'' and ``every'' are accepted
as synonyms for ``all'', and any word may be used in place
of ``in''. The abbreviations ``oob'' and ``ooa'' may be
used in place of the keywords ``on_or_before'' and
``on_or_after'', respectively. ``Nearest'' attempts to
match the specified date; if that fails, it tries the day
after, then the day before, then two days after, two days
before, and so forth until a match occurs.
Page 4 (printed 6/30/95)
PPPPCCCCAAAALLLL((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV PPPPCCCCAAAALLLL((((1111))))
Wildcard day names are also provided. The keyword
``weekday'' applies to any days which are normally printed
in black on the calendar. The keyword ``workday'' is the
same, but does not include any holidays. The keyword
``holiday'' includes only those days flagged as holidays.
The keywords ``nonweekday'', ``nonworkday'', and
``nonholiday'' are also recognized as negations of the
above. See the CCCCAAAAVVVVEEEEAAAATTTTSSSS below for important notes on using
these keywords. Moon phases may also appear as wildcards;
``nm'' is accepted as a synonym for ``new_moon'', ``1q'' and
``fq'' for ``first_quarter'', ``fm'' for ``full_moon'',
``3q'' for ``third_quarter'', and ``lq'' for
``last_quarter''.
Ordinal day numbers may be used to specify dates, either
relative to the month or to the year. Either words or
numeric abbreviations may be used for ``first'' through
``fifth''; higher numbers must be given using the numeric
equivalent (e.g. 100th). Negative ordinal numbers may even
be used. For example, ``-2nd'' means ``next to last''.
``Odd'' and ``even'' do not refer to the actual date;
instead, ``odd'' means ``alternate, starting with the
first'', and ``even'' means ``alternate, starting with the
second''. Thus, ``odd Fridays in March'' refers to the
first, third, and (if present) fifth Fridays in March - not
to those Fridays falling on odd dates.
``All'' refers to each individual month; ``year'' refers to
the year as an entity. Thus ``odd Fridays in all'' refers
to the first, third, and fifth Friday of each month, while
``odd Fridays in year'' refers to the first Friday of
January and every other Friday thereafter.
Text in the date file may use C-like escape sequences (i.e.
a `\' followed by a character, 1 - 3 octal digits, or `x'
followed by 1 - 2 hexadecimal digits). Escaped whitespace
(including nnnneeeewwwwlllliiiinnnneeee ) and the standard ANSI character escapes
(`\a', `\b', `\f', `\n', `\r', `\t', `\v') are all replaced
by a single blank.
Lines in the ._c_a_l_e_n_d_a_r file consisting of yyyyeeeeaaaarrrr ################ (where
################ is a numeric year) can be used to set the year for
following entries. This assumes that the following entries
do not contain a year; any date entries containing year
information will set the remembered year to that year.
Lines in the ._c_a_l_e_n_d_a_r file consisting of oooopppptttt <<<<ooooppppttttiiiioooonnnnssss>>>> can
be used to override the defaults for any command-line
options except ----cccc, ----eeee, ----ffff, ----hhhh, ----uuuu, ----vvvv, ----DDDD, and ----UUUU. Any
options specified in this manner are, in turn, overridden by
those specified explicitly on the command line.
Page 5 (printed 6/30/95)
PPPPCCCCAAAALLLL((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV PPPPCCCCAAAALLLL((((1111))))
Lines in the ._c_a_l_e_n_d_a_r file consisting of nnnnooootttteeee{{{{////<<<<nnnnuuuummmmbbbbeeeerrrr>>>>}}}}
<<<<mmmmoooonnnntttthhhh>>>> can be used to place notes regarding the entire
month in one of the unused blocks of the calendar. The
<<<<mmmmoooonnnntttthhhh>>>> indicator may be either a number 1 through 12 or an
alphabetic month name as described above; ``note all'' will
place the associated text in the notes block for each month
in the current year. <<<<nnnnuuuummmmbbbbeeeerrrr>>>> is an optional positive or
negative number specifying the empty box where the
associated text is to be placed. If positive, _p_c_a_l counts
forward from the first empty box; if negative, _p_c_a_l counts
backward from the last empty box. Thus, ````````nnnnooootttteeee////1111'''''''' places
the associated text in the first empty box; nnnnooootttteeee////----3333 in the
third-to-last. The default is -1 if no <number> is given
(last empty box, immediately preceding the small calendars
on the bottom row; cf. ----SSSS, ----kkkk, and ----KKKK, below).
Comments are supported in the ._c_a_l_e_n_d_a_r file. Any
characters following a `#' character through the end of the
line are ignored.
_P_c_a_l supports rudimentary _c_p_p-like functionality in the date
file, allowing the following constructs: ddddeeeeffffiiiinnnneeee |||| uuuunnnnddddeeeeffff,
iiiiffff{{{{{{{{nnnn}}}}ddddeeeeffff}}}} ............ {{{{eeeelllliiiiffff ............}}}}**** {{{{eeeellllsssseeee ............}}}} and iiiinnnncccclllluuuuddddeeee. Note
that these are not preceded by `#' as they are in C. Symbol
names defined using these keywords (or via the ----DDDD option)
are case-insensitive. It is not an error to uuuunnnnddddeeeeffff an
undefined symbol, nor to ddddeeeeffffiiiinnnneeee a previously-defined one.
An iiiiffffddddeeeeffff alone is always ffffaaaallllsssseeee; an iiiiffffnnnnddddeeeeffff alone is always
ttttrrrruuuueeee. iiiiffff is accepted as a synonym for iiiiffffddddeeeeffff.
The name of the file in the iiiinnnncccclllluuuuddddeeee directive may optionally
be surrounded by either "" or <>, both of which are ignored.
If the name is not an absolute path, it is taken to be
relative to the directory where the file containing the
directive is located. _P_c_a_l is smart enough to translate ~~~~////
to the user's home directory.
In addition to pre-processing keywords, _p_c_a_l also accepts
boolean expressions in iiiiffff{{{{{{{{nnnn}}}}ddddeeeeffff}}}} and eeeelllliiiiffff directives.
These expressions consist of symbol names joined by the
boolean operators !!!!, &&&&, ^^^^, and ||||, in order of precedence,
high to low. Parentheses may be used to alter the
precedence. The synonyms &&&&&&&& and |||||||| are accepted for &&&& and
||||. A symbol name evaluates to ttttrrrruuuueeee if currently defined,
ffffaaaallllsssseeee if not; thus:
ifdef A | B | C
...is ttttrrrruuuueeee if any of the symbols A, B, and C is defined,
and:
ifdef A & B & C
Page 6 (printed 6/30/95)
PPPPCCCCAAAALLLL((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV PPPPCCCCAAAALLLL((((1111))))
...is ttttrrrruuuueeee if they all are. Note that iiiiffffnnnnddddeeeeffff <<<<eeeexxxxpppprrrr>>>> is
equivalent to iiiiffffddddeeeeffff !!!!(((( <<<<eeeexxxxpppprrrr>>>> ))))....
TTTThhhheeee MMMMoooooooonnnn FFFFiiiilllleeee
If a file of the name ._m_o_o_n## (_m_o_o_n##._d_a_t under MS-DOS),
where ######## is the last two digits of the calendar year, exists
in the same directory as the date file (or in the directory
where _p_c_a_l resides), _p_c_a_l uses the information contained
within to calculate the phase of the moon. If no such file
exists, _p_c_a_l uses an approximate algorithm.
Entries in the moon file must conform to the following
syntax:
If the ----AAAA option (American date formats, the default) is
given:
<quarter> <month><sep><day> {<hour><sep><min>}
If the ----EEEE option (European date formats) is given:
<quarter> <day><sep><month> {<hour><sep><min>}
Where:
<quarter> := ``nm'', ``fq'' or ``1q'', ``fm'', ``3q'' or ``lq'' (new moon,
first quarter, full moon, last quarter)
<hour> := number 0-23 (24-hour clock)
<min> := number 0-59
This file must contain entries for all quarter moons in the
year, in chronological order; if any errors are encountered,
_p_c_a_l will revert to using its default algorithm.
As in the date file, comments start with `#' and run through
the end of the given line.
OOOOppppttttiiiioooonnnnssss
_P_c_a_l has many options:
----eeee Prints an empty calendar. Do not print entries
from a ._c_a_l_e_n_d_a_r file.
----ffff _c_a_l Directs _p_c_a_l to use the file name _c_a_l as the
input file in place of the default ._c_a_l_e_n_d_a_r
file. Note that the search rules are different
when ----ffff is used. If _c_a_l is an absolute file
name (i.e., starting with a `/'), then _p_c_a_l
attempts to open only that file. Otherwise,
_p_c_a_l looks for _c_a_l in the current directory,
Page 7 (printed 6/30/95)
PPPPCCCCAAAALLLL((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV PPPPCCCCAAAALLLL((((1111))))
then in the directory indicated by the
environment variable PPPPCCCCAAAALLLL____DDDDIIIIRRRR (if defined), and
finally in the directory where the _p_c_a_l
executable resides. If the given _c_a_l file is
not found, an error results.
----oooo _f_i_l_e Directs _p_c_a_l to write the output to _f_i_l_e instead
of to stdout.
----llll Causes the output to be in landscape mode
(default). This also resets the x- and y-axis
scaling and translation factors to the defaults
for landscape mode.
----pppp Causes the output to be in portrait mode. This
also resets the x- and y-axis scaling and
translation factors to the defaults for portrait
mode.
----jjjj Causes the Julian date (day of year) to be
printed in each calendar box.
----JJJJ Causes the Julian date and the number of days
remaining in the year to be printed in each
calendar box.
----mmmm Causes moon icons to be printed on dates
corresponding to new, half, and full moons (the
default is that no moons are printed).
----MMMM Causes moon icons to be printed on all dates
(the default is that no moons are printed).
----bbbb _d_a_y |||| aaaallllllll
Causes all dates falling on weekday _d_a_y to be
printed in black; ----bbbb aaaallllllll causes all weekdays to
be printed in black.
----gggg _d_a_y |||| aaaallllllll
Causes all dates falling on weekday _d_a_y to be
printed in gray; ----gggg aaaallllllll causes all weekdays to
be printed in gray.
The default for the ----bbbb and ----gggg options is to
print Saturdays and Sundays in gray and other
days, unless flagged as holidays, in black.
----OOOO Causes ``gray'' dates to be printed as outlined
characters.
----GGGG Causes ``gray'' dates to be printed as outlined
characters filled with gray.
Page 8 (printed 6/30/95)
PPPPCCCCAAAALLLL((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV PPPPCCCCAAAALLLL((((1111))))
----ssss{_d_a_t_e}{/_f_i_l_l}
Overrides the default values for date and/or
fill box shading. These values must be in the
range 0.0 (black) through 1.0 (white); they may
be set independently of each other. The default
values are 0.8 for dates and 0.9 for empty
boxes.
----FFFF _d_a_y Selects weekday _d_a_y as the first day of the
week. The given day will appear in the left-
most column of the calendar.
----AAAA Directs _p_c_a_l to use American date conventions
mmmmmmmm////dddddddd{{{{////yyyyyyyy}}}} and mmmmoooonnnntttthhhh dddddddd ) when parsing the date
file (default).
----EEEE Directs _p_c_a_l to use European date conventions
dddddddd////mmmmmmmm{{{{////yyyyyyyy}}}} and dddddddd mmmmoooonnnntttthhhh ) when parsing the date
file.
----XXXX _x_t_r_a_n_s Specifies the x-axis translation value for
positioning the output on the page.
----YYYY _y_t_r_a_n_s Specifies the y-axis translation value for
positioning the output on the page.
----xxxx _x_s_c_a_l_e Specifies the x-axis scaling factor for the
calendar size.
----yyyy _y_s_c_a_l_e Specifies the y-axis scaling factor for the
calendar size.
----tttt _t_i_t_l_e__f_o_n_t
Specifies the name of a font to use to print the
month name and year at the top of the calendar,
the foot strings, and the notes box heading.
For example, ppppccccaaaallll ----tttt TTTTiiiimmmmeeeessss----RRRRoooommmmaaaannnn.
----dddd _d_a_y__f_o_n_t Similar to the ----tttt option, but selects the font
used to print the day numbers and weekday names.
----nnnn _t_e_x_t__f_o_n_t[////_s_i_z_e]
Similar to the ----tttt option, but selects the font
used to print the text inside each day and in
the notes block. The user may also select the
font size; ppppccccaaaallll ----nnnn HHHHeeeellllvvvveeeettttiiiiccccaaaa////8888 sets the font to
8-point Helvetica.
----DDDD _s_y_m_b_o_l Defines the named symbol prior to reading the
date file.
----UUUU _s_y_m_b_o_l Un-defines the named symbol prior to reading the
Page 9 (printed 6/30/95)
PPPPCCCCAAAALLLL((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV PPPPCCCCAAAALLLL((((1111))))
date file.
----LLLL _s_t_r_i_n_g Causes the accompanying string to be printed as
a left-justified footer. Format specifiers
denoting the month and/or year may appear in the
string; the appropriate values will be
substituted upon printing.
----CCCC _s_t_r_i_n_g Similar to ----LLLL, but causes the accompanying
string to be printed as a centered footer.
----RRRR _s_t_r_i_n_g Similar to ----LLLL, but causes the accompanying
string to be printed as a right-justified
footer.
----NNNN _s_t_r_i_n_g Causes the accompanying string to be printed as
the heading for the "Notes" box. Note, however,
that _p_c_a_l makes no attempt to ensure that it
fits.
----BBBB Causes _p_c_a_l to leave unused calendar boxes blank
(default is gray).
----SSSS Causes _p_c_a_l to suppress printing the small
calendars. See the CCCCAAAAVVVVEEEEAAAATTTTSSSS section for further
details.
----kkkk Causes _p_c_a_l to print the small calendars in the
upper left corner (the default is to print them
at the lower right).
----KKKK Causes _p_c_a_l to print the small calendar for the
previous month in the upper left corner and the
next month in the lower right (the default is to
print both at the lower right).
----wwww Causes _p_c_a_l to print a calendar for 12
consecutive months: 3 rows / 4 columns in
landscape mode, 4 rows / 3 columns in portrait
mode. See the CCCCAAAAVVVVEEEEAAAATTTTSSSS section for details on
the use of this option with other options.
----cccc Causes _p_c_a_l to generate a date file suitable for
use as input to the Un*x _c_a_l_e_n_d_a_r(_1) utility.
The normal PostScript output is suppressed.
----IIII Resets all parameters to the program defaults.
----hhhh Causes _p_c_a_l to write version information,
parameter usage message, and full explanation of
options and file formats (to _s_t_d_o_u_t) and
terminate.
Page 10 (printed 6/30/95)
PPPPCCCCAAAALLLL((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV PPPPCCCCAAAALLLL((((1111))))
----uuuu Causes _p_c_a_l to write version information and
parameter usage message (to _s_t_d_o_u_t) and
terminate.
----vvvv Causes _p_c_a_l to write version information only
(to _s_t_d_o_u_t) and terminate.
Any option which normally takes an argument may be specified
without the argument in order to reset the value to the
program default. Note that while the ----DDDD option alone clears
all the defined symbols, the ----UUUU option alone has no effect.
The ---- (or -------- as per System V) argument may be used to
disambiguate command lines such as:
ppppccccaaaallll ----tttt 9999 99990000
This could be written instead as one of the following:
ppppccccaaaallll ----tttt ---- 9999 99990000
ppppccccaaaallll ----tttt -------- 9999 99990000
If the environment variable PPPPCCCCAAAALLLL____OOOOPPPPTTTTSSSS is defined, its
contents are parsed as a command line. Flags set via
PPPPCCCCAAAALLLL____OOOOPPPPTTTTSSSS override the program defaults, but are overridden
by options set via oooopppptttt lines in the ._c_a_l_e_n_d_a_r file or
explicitly on the command line.
CCCCAAAAVVVVEEEEAAAATTTTSSSS
The ``workday'' and ``holiday'' keywords are aware of only
those holidays which have already been flagged at the point
where they appear. For example, consider January 1990:
January 1990
S M Tu W Th F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
If the ._c_a_l_e_n_d_a_r file looked like this:
workday on_or_before all 15 payday
3rd Mon in Jan* MLK day
... then _p_c_a_l would mark the 15th as ``payday'' since at
that point in the ._c_a_l_e_n_d_a_r file it has no way of knowing
that January 15th will later be flagged as a holiday. If
the two lines were reversed, such that the holiday preceded
the ``workday'' wildcard, then _p_c_a_l would work as intended,
marking instead the 12th as ``payday''. Also, beware of
year boundaries which affect the handling of all of the day
Page 11 (printed 6/30/95)
PPPPCCCCAAAALLLL((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV PPPPCCCCAAAALLLL((((1111))))
wildcard keywords. In general, it is best to place monthly
wildcards such as the example above at the end of each year
to achieve the desired effect.
When the ----wwww and ----pppp options are used together, _p_c_a_l revises
the y-scale factor in order to use the entire portrait page;
therefore, the user should avoid using use the ----yyyy option
when using both the ----wwww and ----pppp options. Use of the ----wwww option
in any case effectively disables the ----mmmm, ----MMMM, ----jjjj, and ----JJJJ
options.
The output of the ----cccc option may be used as input to
subsequent runs of _p_c_a_l. Note, however, that oooopppptttt lines
(except for an automatic oooopppptttt ----[[[[AAAA||||EEEE]]]]), comments, ``note''
text, and iiiiffffddddeeeeffff'd-out source will be lost.
The ----SSSS option interacts with nnnnooootttteeee{{{{////<<<<nnnnuuuummmmbbbbeeeerrrr>>>>}}}}; if used, it
should be specified either on the command line or prior to
the first nnnnooootttteeee line in the date file.
SSSSEEEEEEEE AAAALLLLSSSSOOOO
cal(1), calendar(1).
AAAAUUUUTTTTHHHHOOOORRRRSSSS
The original PostScript code to generate the calendars was
written by Patrick Wood (Copyright (c) 1987 by Patrick Wood
of Pipeline Associates, Inc.), and authorized for
modification and redistribution. The calendar file
inclusion code was originally written in _b_s(1) by Bill Vogel
of AT&T. Patrick's original PostScript was modified and
enhanced several times by others whose names have
regrettably been lost. Ken Keirnan of Pacific Bell
assembled the original ``C'' version upon which this is
based; additional modifications and enhancements are the
work of Joseph P. Larson, Ed Hand, Andrew W. Rogers, Mark
Kantrowitz, Joe Brownlee, Jamie Zawinski, Richard L. Dyson,
Bill Hogsett, Floyd Miller, Andy Fyfe, and Geoff Kuenning.
Page 12 (printed 6/30/95)